@Service
	public class ModuleServiceImpl implements ModuleService
	{
		@Resource
		private  ModuleMapper  moduleMapper;
		@Override
		public int insertModule(ModuleParam param){
			Module module = new Module();
			if(param.getSysId() != 0){
				module.setSysId(param.getSysId());
			}
			if(param.getModuleCode() != null){
				module.setModuleCode(param.getModuleCode());
			}
			if(param.getWebUrl() != null){
				module.setWebUrl(param.getWebUrl());
			}
			if(param.getModuleName() != null){
				module.setModuleName(param.getModuleName());
			}
			if(param.getDescription() != null){
				module.setDescription(param.getDescription());
			}
			if(param.getIconUrl() != null){
				module.setIconUrl(param.getIconUrl());
			}
			if(param.getCreateTime() != 0){
				module.setCreateTime(param.getCreateTime());
			}
			if(param.getUpdateTime() != 0){
				module.setUpdateTime(param.getUpdateTime());
			}
			 return moduleMapper.insertSelective(module);
		}
		@Override
		public int updateModule(ModuleEditParam param){
			Module module = new Module();
			if(param.getModuleId() != null){
				module = getModule(Long.parseLong(param.getModuleId()));
			}
			if(module == null){
				return 0;
			}
			if(param.getSysId() != 0){
				module.setSysId(param.getSysId());
			}
			if(param.getModuleCode() != null){
				module.setModuleCode(param.getModuleCode());
			}
			if(param.getWebUrl() != null){
				module.setWebUrl(param.getWebUrl());
			}
			if(param.getModuleName() != null){
				module.setModuleName(param.getModuleName());
			}
			if(param.getDescription() != null){
				module.setDescription(param.getDescription());
			}
			if(param.getIconUrl() != null){
				module.setIconUrl(param.getIconUrl());
			}
			if(param.getCreateTime() != 0){
				module.setCreateTime(param.getCreateTime());
			}
			if(param.getUpdateTime() != 0){
				module.setUpdateTime(param.getUpdateTime());
			}
			 return moduleMapper.updateByPrimaryKeySelective(module);
		}
		@Override
		public int deleteModule(long id){
			Module module = getModule(id);
			if(module == null){
				return 0;
			}
			return moduleMapper.deleteByPrimaryKey(id);
		}
		@Override
		public Module getModule(long id){
			 return moduleMapper.selectByPrimaryKey(id);
		}
		@Override
		public int deleteModuleList(String ids){
			List<String> moduleList = Arrays.asList(ids.split(","));
			int count = 0;
			for (String id : moduleList) {
			count = count + deleteModule(Long.parseLong(id));
		}
			if( count == moduleList.size()){
			return 1;
			}else{
			return 0;
			}
	}
		@Override
		public List<Module> selectModule(ModuleSelectParam param){
			ModuleExample moduleExample = new ModuleExample();
			moduleExample.setOrderByClause("create_time desc");
			ModuleExample.Criteria criteria = moduleExample.createCriteria();
			if(param.getSysId() != 0){
				criteria.andSysIdEqualTo(param.getSysId());
			}
			if(param.getModuleCode() != null){
				criteria.andModuleCodeEqualTo(param.getModuleCode());
			}
			if(param.getWebUrl() != null){
				criteria.andWebUrlEqualTo(param.getWebUrl());
			}
			if(param.getModuleName() != null){
				criteria.andModuleNameEqualTo(param.getModuleName());
			}
			if(param.getDescription() != null){
				criteria.andDescriptionEqualTo(param.getDescription());
			}
			if(param.getIconUrl() != null){
				criteria.andIconUrlEqualTo(param.getIconUrl());
			}
			if(param.getCreateTime() != 0){
				criteria.andCreateTimeEqualTo(param.getCreateTime());
			}
			if(param.getUpdateTime() != 0){
				criteria.andUpdateTimeEqualTo(param.getUpdateTime());
			}
			if (param.getOrder() != 0){
			}
			moduleExample.setLimitStart((param.getPageIndex() - 1) * param.getPageSize());
			moduleExample.setLimitEnd(param.getPageSize());
			List<Module> moduleList = moduleMapper.selectByExample(moduleExample);
			return moduleList;
		}
		@Override
		public int countModule(ModuleSelectParam param){
			ModuleExample moduleExample = new ModuleExample();
			moduleExample.setOrderByClause("create_time desc");
			ModuleExample.Criteria criteria = moduleExample.createCriteria();
			if(param.getSysId() != 0){
				criteria.andSysIdEqualTo(param.getSysId());
			}
			if(param.getModuleCode() != null){
				criteria.andModuleCodeEqualTo(param.getModuleCode());
			}
			if(param.getWebUrl() != null){
				criteria.andWebUrlEqualTo(param.getWebUrl());
			}
			if(param.getModuleName() != null){
				criteria.andModuleNameEqualTo(param.getModuleName());
			}
			if(param.getDescription() != null){
				criteria.andDescriptionEqualTo(param.getDescription());
			}
			if(param.getIconUrl() != null){
				criteria.andIconUrlEqualTo(param.getIconUrl());
			}
			if(param.getCreateTime() != 0){
				criteria.andCreateTimeEqualTo(param.getCreateTime());
			}
			if(param.getUpdateTime() != 0){
				criteria.andUpdateTimeEqualTo(param.getUpdateTime());
			}
			if (param.getOrder() != 0){
			}
			moduleExample.setLimitStart((param.getPageIndex() - 1) * param.getPageSize());
			moduleExample.setLimitEnd(param.getPageSize());
			return moduleMapper.countByExample(moduleExample);
		}
}
